TypeScript 再帰的にany型にする DeepAny
#TypeScript
code:deepAny.ts
export type DeepAny<T> =
{ K in keyof T: TK extends object ? TK extends Array<any> ? any : DeepAny<TK> : any };
TypeScript Playground
DeepPartialとDeepAny
TypeScript 再帰的にPartial型にする DeepPartial
やりたいこと
code:User.ts
type User = {
id: number,
name: {
first: string,
last: string,
},
gender?: string,
hobby: string[]
}
↑の型を↓の型に変換したい
code:deepAnyUser.ts
type User = {
id: any,
name: {
first: any,
last: any,
},
gender?: any,
hobby: any
}
なぜ?
異常パラメータをテストしたい場合に型情報があると、numberにstringが入っているなどの異常系がチェックし辛い
異常パラメータを作る際の型は anyでも良いが、anyにするとプロパティの補完が効かないため面倒くさい/プロパティを間違える可能性がある
問題を解決するため、すべての最下層のプロパティが any である型を作る DeepAny<T> を作った
完成
補完が効く!!!最高!!
https://gyazo.com/a4a4dffa5a4ee3245368dcc2e3b64282